草庐IT

JavaScript if...Else 语句

全部标签

javascript - 返回语句中的 ES6 解构

是否可以在返回对象的同时解构它。例如,要更改此代码:constmapStateToProps=({newItem})=>{const{id,name,price}=newItem;return{id,name,price};}像这样:constmapStateToProps=({newItem})=>{return{id,name,price}=newItem;} 最佳答案 不,这不可能。(免责声明:您的语法有效并且可以解构和返回,但它等同于({id,name,price}=newItem);//assignsglobalvaria

javascript - 在 if 语句中使用 undefined variable

此代码段导致JavaScript运行时错误:(foo未定义)if(foo){//...}我必须先定义foo,如下所示:varfoo=foo||null//orundefined,0,etc....只有这样我才能做:if(foo){//...}这是为什么呢?更新:这对我来说有点脑残:“当然你不能访问未分配的变量。”有趣的是,你可以对undefinedvariable执行typeof()。我要接受miccet的答案,因为我认为这是最优雅的解决方案。 最佳答案 我感觉到你在问,因为你知道javascript似乎在某些情况下(即没有运行时错

javascript - 在 ES6 模板文字中插入 if 语句

我有一个简单的ajax请求返回一些数据,然后插入到模板文字中。我想知道是否可以在模板中插入“if”语句?如果json对象有第5种颜色,本质上是添加一行代码。$.ajax({url:'http://localhost:8888/ColourCatchr%202/app/search.php'}).done(function(results){varres=jQuery.parseJSON(results);console.log(res);$.each(res,function(index,result){$('.palettes').append(`${result.name}${re

javascript - `for of` JavaScript 语句的支持情况如何?

varnameArray=[{name:'john',surname:'smith'},{name:'paul',surname:'jones'},{name:'timi',surname:'abel'},];for(strofnameArray){console.log(str.name);}我想知道,在浏览器支持、移动JavaScript支持方面,for(itemofarray)的支持程度如何——我知道你不能做greaterthan>和这是纯迭代?我刚刚发现了这一点,是否如我希望的那样好? 最佳答案 经典的做法如下:for(va

javascript - 在开关中嵌套 if/else 是否有效的 JavaScript?

这有效吗?switch(foo){case'bar':if(raz=='something'){//execute}else{//dosomethingelse}break;...default://yadayada} 最佳答案 是的,itisperfectlyvalid.你试过了吗? 关于javascript-在开关中嵌套if/else是否有效的JavaScript?,我们在StackOverflow上找到一个类似的问题: https://stackover

javascript - Coffeescript:在 switch 语句中出现意外

我正在尝试使用一个简单的switch语句,但它无法编译。这是代码:tag=0switchtagwhen0thenalert"0"when1thenalert"1"coffeescript编译器在switch语句之后的行中提示“unexpectedthen”。我将代码更改为:switchtagwhen0thenalert"0"when1thenalert"1"而且效果很好。但是我需要在switch语句的then部分的多行上使用多个语句。这不可能吗? 最佳答案 只需完全删除then即可。仅当您不想拥有新的缩进block时才需要它。tag

javascript - javascript中的嵌套switch语句

是否可以在javascript中使用嵌套的switch语句。我的代码是这样的switch(id1){case1:switch(id2){case1:{switch(id3){case1:{}case2:{}}}case2:{switch(id4){case1:{}case2:{}}}}case2:}如果是,那么这是一个很好的做法,或者我们可以使用任何替代方法。 最佳答案 你的方法绝对没问题。您可以使用switch(true)使switch的嵌套不那么复杂:switch(true){case((id1===1)&&(id2===1)&

javascript - JavaScript 中的一行 if/else

这个问题在这里已经有了答案:CanIwriteanifstatementwithinaJavascriptobjectwhensettinganattribute?(7个答案)关闭7年前。我有一些逻辑可以通过开/关来切换(withandelse/if)true/false,但我想让它更简洁而不使用switch语句。理想情况下,if/else将被转换成一小段内容。谢谢!!!varproperties={};varIsItMuted=scope.slideshow.isMuted();if(IsItMuted===true){properties['Value']='On';}else{p

IF语句中的javascript多个OR条件

我想我在这里遗漏了一些基本的东西。为什么第三个IF条件为真?条件不应该评估为假吗?我想做一些ID不是1、2或3的事情。varid=1;if(id==1)//trueif(id!=1)//falseif(id!=1||id!=2||id!=3)//thisreturnstrue.why?谢谢。 最佳答案 通过OR(||)操作,如果任何一个条件为真,则结果为真。我认为您需要在此处进行AND(&&)操作。 关于IF语句中的javascript多个OR条件,我们在StackOverflow上找到

javascript - 函数声明不应放在 block 中。使用函数表达式或将语句移动到外部函数的顶部

我有以下代码:if(typeofconsole==="object"&&typeofconsole.error==="function"){functione(msg){"usestrict";console.info(msg);}}jsLint给出了以下错误:Functionstatementsshouldnotbeplacedinblocks.Useafunctionexpressionormovethestatementtothetopoftheouterfunction.为什么会出现这个错误,这是什么意思? 最佳答案 解释来